package com.ethen.jzvd;

import ohos.hiviewdfx.HiLog;
import ohos.hiviewdfx.HiLogLabel;

public class Log {
    private static final String TAG_LOG = "ohlog";

    private static final int DOMAIN_ID = 0xD000F00;
    private static final int DEBUG = 3;
    private static final int INFO = 4;
    private static final int ERROR = 6;

    private static final HiLogLabel LABEL_LOG = new HiLogLabel(DEBUG, DOMAIN_ID, TAG_LOG);
    //换上下面两个打印不出来，原因未知，后续排查
    private static final HiLogLabel INFO_LOG = new HiLogLabel(INFO, DOMAIN_ID, TAG_LOG);
    private static final HiLogLabel ERROR_LOG = new HiLogLabel(ERROR, DOMAIN_ID, TAG_LOG);

    private static final String LOG_FORMAT = "%{public}s: %{public}s";


    public static void d(String tag, String msg) {
        HiLog.debug(LABEL_LOG, LOG_FORMAT, tag, msg);
    }

    public static void d(String msg) {
        d(TAG_LOG, msg);
    }

    /**
     * Print info log
     *
     * @param tag log tag
     * @param msg log message
     */
    public static void i(String tag, String msg) {
        HiLog.info(LABEL_LOG, LOG_FORMAT, tag, msg);
    }

    /**
     * Print info log
     *
     * @param msg log message
     */
    public static void i(String msg) {
        i(TAG_LOG, msg);
    }

    /**
     * Print warn log
     *
     * @param tag log tag
     * @param msg log message
     */
    public static void w(String tag, String msg) {
        HiLog.warn(LABEL_LOG, LOG_FORMAT, tag, msg);
    }

    /**
     * Print warn log
     *
     * @param msg log message
     */
    public static void w(String msg) {
        w(TAG_LOG, msg);
    }

    /**
     * * Print error log
     *
     * @param e Exception
     */
    public static void e(Exception e) {
        e(TAG_LOG, e.getMessage());
    }

    /**
     * Print error log
     *
     * @param tag log tag
     * @param msg log message
     */
    public static void e(String tag, String msg) {
        HiLog.error(LABEL_LOG, LOG_FORMAT, tag, msg);
    }
}
